Various computer security protocols have been developed to ensure that only authorized users gain access to a computer. In one basic configuration, a password may be used to gain access. Unfortunately, where the user accesses a computer A from a remote computer B, transmitting the password “in the clear” exposes the system to the risk that an eavesdropper may intercept the password and use it to gain unauthorized access to computer A. In another configuration, a computer B may access a computer A without computer B having to provide a password. This may be done by providing computer B with the necessary public/private keys for encrypted communication with computer A, such as via SSH, and by configuring computer A to not require password access where computer B uses the proper public/private key protocol, allowing computer A to authenticate computer B's identity.
In the UNIX operating system, users who wish to gain access to a computer may be “trusted” users possessing the necessary public/private keys for non-password access to the computer, or “untrusted” users requiring password access. While access to the root directory is particularly sensitive, as this affords the opportunity to control the most critical aspects of the operating system, root access may nonetheless be gained by untrusted users using the basic password access protocol, with all of its risks. While password access to the root may be disabled by setting PermitRootLogin=no in the /etc/ssh/sshd_config file, doing so would render the root inaccessible even to trusted users having the necessary public/private keys. It would be therefore be advantageous to increase the level of security required for untrusted user access without affecting the level of security required for trusted user access.